package leetcode; /**
 * description:
 * author:张腾
 * date:2021-06-11
 */

/**
 * 给定一个非负整数数组，你最初位于数组的第一个位置。
 *
 * 数组中的每个元素代表你在该位置可以跳跃的最大长度。
 *
 * 你的目标是使用最少的跳跃次数到达数组的最后一个位置。
 * 假设你总是可以到达数组的最后一个位置
 */
public class leetcode45 {

    public int jump(int[] nums) {
        int count = 0;
        int maxL = 0;
        int end = 0;
        for (int i = 0; i < nums.length-1; i++) {
            maxL = Math.max(maxL,i+nums[i]);
            if (i==end){
                end = maxL;
                count++;
                if (end>=nums.length-1) break;
            }
        }
        return count;
    }
}
